package com.jeomo.masterdata.starter.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jeomo.base.starter.entity.BaseEntity;

/**
 * <h3>jeomo</h3>
 * <p>会员等级</p>
 *
 * @author : 崔贺
 * @date : 2020-09-01 11:42
 **/
@TableName("member_level")
public class Level extends BaseEntity {

    private static final long serialVersionUID = 7665402517459989076L;
    /**
     * 等级编号
     */
    public static final String[] LEVEL_CODES_ARR = {"VIP1", "VIP2", "VIP3", "VIP4", "VIP5", "VIP6"};
    /**
     * vip1 +123456
     * 等级code=会员等级+组织orgCode
     */
    @TableId(value = "code", type = IdType.INPUT)
    private String code;
    /**
     * 等级名称
     */
    private String name;

    private String orgCode;
    /**
     * 图片在aliyun上的路径
     */
    private String cardSamplePicturePath;
    /**
     * 系统等级
     */
    private String levelCode;
    /**
     * 等级规则：等级有效期(天)
     */
    private Integer effectiveDay;
    /**
     * 等级规则：升级，累计获得积分
     */
    private Integer upLevelSumBonus;
    /**
     * 等级规则：升级，累计消费
     */
    private Double upLevelSumAmount;
    /**
     * 等级规则：升级，单日消费
     */
    private Double upLevelDailyAmount;
    /**
     * 保级规则：累计获得积分
     */
    private Integer remainLevelSumBonus;
    /**
     * 保级规则：累计消费
     */
    private Double remainLevelSumAmount;

    /**
     * 排序字段
     */
    private Integer sort;
    /**
     * 启用标识
     */
    private Boolean startFlag = true;
    /**
     * 顶级组织码
     */
    private String topOrgCode;


    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public String getOrgCode() {
        return orgCode;
    }

    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }

    public String getTopOrgCode() {
        return topOrgCode;
    }

    public void setTopOrgCode(String topOrgCode) {
        this.topOrgCode = topOrgCode;
    }

    public Boolean getStartFlag() {
        return startFlag;
    }

    public void setStartFlag(Boolean startFlag) {
        this.startFlag = startFlag;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCardSamplePicturePath() {
        return cardSamplePicturePath;
    }

    public void setCardSamplePicturePath(String cardSamplePicturePath) {
        this.cardSamplePicturePath = cardSamplePicturePath;
    }

    public String getLevelCode() {
        return levelCode;
    }

    public void setLevelCode(String levelCode) {
        this.levelCode = levelCode;
    }

    public Integer getEffectiveDay() {
        return effectiveDay;
    }

    public void setEffectiveDay(Integer effectiveDay) {
        this.effectiveDay = effectiveDay;
    }

    public Integer getUpLevelSumBonus() {
        return upLevelSumBonus;
    }

    public void setUpLevelSumBonus(Integer upLevelSumBonus) {
        this.upLevelSumBonus = upLevelSumBonus;
    }

    public Double getUpLevelSumAmount() {
        return upLevelSumAmount;
    }

    public void setUpLevelSumAmount(Double upLevelSumAmount) {
        this.upLevelSumAmount = upLevelSumAmount;
    }

    public Double getUpLevelDailyAmount() {
        return upLevelDailyAmount;
    }

    public void setUpLevelDailyAmount(Double upLevelDailyAmount) {
        this.upLevelDailyAmount = upLevelDailyAmount;
    }

    public Integer getRemainLevelSumBonus() {
        return remainLevelSumBonus;
    }

    public void setRemainLevelSumBonus(Integer remainLevelSumBonus) {
        this.remainLevelSumBonus = remainLevelSumBonus;
    }

    public Double getRemainLevelSumAmount() {
        return remainLevelSumAmount;
    }

    public void setRemainLevelSumAmount(Double remainLevelSumAmount) {
        this.remainLevelSumAmount = remainLevelSumAmount;
    }
}
